package com.swxy.club.service.code;

import com.swxy.club.dto.bo.CheckinBo;
import com.swxy.club.dto.bo.CodeAddBo;

/**
 * @author 易
 */
public interface CheckinCodeService {

    /**
     * 签到码生成
     * @param codeAddBo 生成签到码请求体
     * @return String
     */
    String generateCheckinCode(CodeAddBo codeAddBo);

    /**
     * 生成唯一签到码（带重试机制）
     */
    String generateUniqueCode(Long activityId);

    /**
     * 判断签到码是否存在
     * @param activityId 活动id
     * @param code 签到码
     * @return boolean
     */
    boolean existsByCode(Long activityId,String code);


    /**
     * 签到
     * @param checkinBo 签到请求体
     */
    void checkin(CheckinBo checkinBo);



}
